Deavmi's coding shack
Commit e42badba907450435680872d2076e4dbc998cbb0
Parents : 75acc63
Author : Tristan B. Kildaire <deavmi@redxen.eu>
Date : 2021-05-31T14:06:37+02:00
Updated docs
Changes
1 files changed, 49 insertions(+), 0 deletions(-)
Diff
diff --git a/new_docs/content/documentation/internals/vtable_mechanism.md b/new_docs/content/documentation/internals/vtable_mechanism.md
index a7b437f..79cba6d 100644
--- a/new_docs/content/documentation/internals/vtable_mechanism.md
+++ b/new_docs/content/documentation/internals/vtable_mechanism.md
@@ -16,3 +16,52 @@ As of so far the descriptions for the mechanism I came up with was only describe
---
+# Introduction
+
+This section provides an introduction to the features we want to implement, the problems they cause and how to solve them.
+
+{{<bruh>}}
+<center>
+ <video src="http://deavmi.assigned.network/secret/tlang_notes/20th%20April%202021/OOP/runtime_thunking/2021-04-20-200335.webm" controls></video>
+ <p>Here I say <i>"Bruh"</i></p>
+</center>
+{{</bruh>}}
+
+This video describes what features we want in the language, what problems need to be solved to support them and why those problems exist.
+
+The language is to support single-inheritance object-orietentation but also with the ability to inherit from multiple interfaces (whilst the classes remain in a single hierachial order of inheritnce).
+
+## Single inheritance of classes
+
+We will only allow each class to inherit from one other class. Below is an example of what is allowed, we have a class `A` defined along with another class defined as `B` whereby `B` inherits from `A` (via the `:` operator).
+
+```d
+class A
+{
+ /* TODO: Code goes here */
+}
+
+class B : A
+{
+ /* TODO: Code goes here */
+}
+```
+
+THe example below defines classes `A`, `B` and `C`, with `B` inheriting from `A` and `C`, in T this woudl **not** be allowed.
+
+```d
+class A
+{
+ /* TODO: Code goes here */
+}
+
+class C
+{
+ /* TODO: Code goes here */
+}
+
+class B : A, C
+{
+ /* TODO: Code goes here */
+}
+```
\ No newline at end of file
Served by rngit 1.5.0 - Generated in 0.05s